\hypertarget{class_operation}{\section{Operation$<$ Result $>$ Class Template Reference}
\label{class_operation}\index{Operation$<$ Result $>$@{Operation$<$ Result $>$}}
}


{\ttfamily \#include $<$Operation.\-hpp$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_operation_aeedcfd7cde6bc8b02160ed6f3ad05367}{Operation} (Result cancel\-Result=Result())
\item 
Result \hyperlink{class_operation_afaa85007ff78f9aaa819ed75e220f5b7}{Wait} () const 
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_operation_a481876d2955554f011da1ce5310f9ad0}{Finish} (Result result)
\item 
virtual Result \hyperlink{class_operation_aa2c6d13916ee7cb0e4106ffec37960e7}{Handle\-Cancel} ()
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Result$>$class Operation$<$ Result $>$}

An \hyperlink{class_operation}{Operation} is a Robot\-Subscriber that is launched by another Robot\-Subscriber and returns a result when the operation is finished.

This class is untested.


\begin{DoxyTemplParams}{Template Parameters}
{\em Result} & The type of the returned result. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_operation_aeedcfd7cde6bc8b02160ed6f3ad05367}{\index{Operation@{Operation}!Operation@{Operation}}
\index{Operation@{Operation}!Operation@{Operation}}
\subsubsection[{Operation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Result$>$ {\bf Operation}$<$ Result $>$\-::{\bf Operation} (
\begin{DoxyParamCaption}
\item[{Result}]{cancel\-Result = {\ttfamily Result()}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_operation_aeedcfd7cde6bc8b02160ed6f3ad05367}
Constructor for \hyperlink{class_operation}{Operation}. 

\subsection{Member Function Documentation}
\hypertarget{class_operation_a481876d2955554f011da1ce5310f9ad0}{\index{Operation@{Operation}!Finish@{Finish}}
\index{Finish@{Finish}!Operation@{Operation}}
\subsubsection[{Finish}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Result$>$ void {\bf Operation}$<$ Result $>$\-::Finish (
\begin{DoxyParamCaption}
\item[{Result}]{result}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_operation_a481876d2955554f011da1ce5310f9ad0}
Finish the \hyperlink{class_operation}{Operation}.


\begin{DoxyParams}{Parameters}
{\em result} & The result. \\
\hline
\end{DoxyParams}
\hypertarget{class_operation_aa2c6d13916ee7cb0e4106ffec37960e7}{\index{Operation@{Operation}!Handle\-Cancel@{Handle\-Cancel}}
\index{Handle\-Cancel@{Handle\-Cancel}!Operation@{Operation}}
\subsubsection[{Handle\-Cancel}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Result$>$ virtual Result {\bf Operation}$<$ Result $>$\-::Handle\-Cancel (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_operation_aa2c6d13916ee7cb0e4106ffec37960e7}
Override this function to handle the \hyperlink{class_operation}{Operation} getting canceled.

\begin{DoxyReturn}{Returns}
The result. 
\end{DoxyReturn}
\hypertarget{class_operation_afaa85007ff78f9aaa819ed75e220f5b7}{\index{Operation@{Operation}!Wait@{Wait}}
\index{Wait@{Wait}!Operation@{Operation}}
\subsubsection[{Wait}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Result$>$ Result {\bf Operation}$<$ Result $>$\-::Wait (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_operation_afaa85007ff78f9aaa819ed75e220f5b7}
Wait for the \hyperlink{class_operation}{Operation} to finish.

Warning\-: Calling this in the periodic loop will stall the program. Consider using Get\-Is\-Finished instead.

\begin{DoxyReturn}{Returns}
The result. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/Operation.\-hpp\end{DoxyCompactItemize}
